package com.ruoyi.produce.process.planoutsource.domain;



import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.sql.Timestamp;

/**
 * 委外生产计划表
 * produce_plan_outsource
 * @author Drj 2021/6/28
 */
@Data
public class ProducePlanOutsource{
    /**
     * 委外生产计划编号
     */
    @NotNull(message = "委外生产计划编号不能为空")
    @ApiModelProperty(value = "委外生产计划编号", required = true)
    private String planOutsourceId;
    /**
     * 关联生产计划编号
     */
    private String planSelfId;
    /**
     * 产品编号
     */
    @ApiModelProperty(value = "产品编号", required = true)
    private String produceId;

    /**
     * 类别编号
     */
    @Excel(name = "类别编号")
    private String baseCategoryId;
    /**
     * 类别名称
     */
    @Excel(name = "类别名称")
    private String baseCategoryName;
    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String produceName;
    /**
     * 计量单位编号
     */
    @Excel(name = "计量单位编号")
    private String baseUnitId;
    /**
     * 计量单位名称
     */
    @Excel(name = "计量单位名称")
    private String baseUnit;
    /**
     * 产品规格
     */
    @Excel(name = "产品规格")
    private String produceSpecs;
    /**
     * 计划状态
     * 0-未完成 1-已完成
     */
    private String planOutsourceStatus;
    /**
     * 是否审批
     */
    @ApiModelProperty("是否审批")
    private String approvalFlag;
    /**
     * 供应商编号/外协工厂编号
     */
    private String supplierInfoId;
    /**
     * 供应商/外协工厂名称
     */
    private String supplierInfoName;
    /**
     * 计划完成数量
     */
    private double planOutsourceNumber;
    /**
     * 委外计划生产单价
     */
    private double planOutsourceUnitPrice;
    /**
     * 委外计划生产金额
     */
    private double planOutsourcePrice;
    /**
     * 已完成数量
     */
    @ApiModelProperty("已完成数量")
    private Double  completedNumber;
    /**
     * 是否提供材料
     * 0-否 1-是
     */
    private String materialMarks;
    /**
     * 创建人编号
     */
    @ApiModelProperty(value = "创建人编号", required = true)
    private String createById;
    /**
     * 创建人名称
     */
    @ApiModelProperty("创建人名称")
    private String createByName;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp createTime;
    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp startTime;
    /**
     * 预计完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp predictedFinishingTime;
    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp endTime;
    /**
     * 备注
     */
    private String remark;
}
